package com.dhcc.bpm.modules.log.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.dhcc.bpm.modules.log.entity.GatewayLogMinute;
import com.dhcc.bpm.modules.log.vo.*;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * @ClassName GatewayLogMinuteMapper.class
 * @Description   消网关访问记录分钟表 Mapper 接口
 * @Author xiaFaYu
 * @Date 2019-12-16 14:16
 * @Version V1.0
 * @Copyright: 2020 东华软件 . All rights reserved.
 */
public interface GatewayLogMinuteMapper extends BaseMapper<GatewayLogMinute> {

	/**
	 * @Description 自定义分页
	 * @Author xiafayu
	 * @Date 2020/2/24 15:34
	 * @param page
	 * @param gatewayLogMinute
	 * @return java.util.List<com.dhcc.bpm.modules.log.vo.GatewayLogMinuteVO>
	 **/
	List<GatewayLogMinuteVO> selectGatewayLogMinutePage(IPage page, GatewayLogMinuteVO gatewayLogMinute);

	/**
	 * @Description 查询
	 * @Author xiafayu
	 * @Date 2020/2/24 15:34
	 * @param gatewayLogMinute
	 * @return java.util.List<com.dhcc.bpm.modules.log.vo.TradeVolumnVo>
	 **/
	List<TradeVolumnVo> countGatewayLogMinuteByDate(GatewayLogMinuteVO gatewayLogMinute);
	List<TradeVolumnVo> countGatewayLogMinuteByDateHour(GatewayLogMinuteVO gatewayLogMinute);
	List<TradeVolumnVo> countGatewayLogMinuteByTime(GatewayLogMinuteVO gatewayLogMinute);
	List<TradeVolumnVo> countGatewayLogMinuteByTimeByPage(@Param("page") IPage<TradeVolumnVo> page, @Param("log") GatewayLogMinuteVO gatewayLogMinute);
	/**
	 * @Description 统计某一接口数据
	 * @Author daina
	 * @Date 18:28 2020/4/22
	 * @param api
	 * @return java.util.List<com.dhcc.bpm.modules.log.vo.AppApiViewVo>
	 **/
	List<AppApiViewVo> apiChartDataByMinute(AppApiViewVo api);
	
	
	List<AppApiViewVo> apiChartByMinute(AppApiViewVo api);
	/**
	 * @Description 当日交易量统计
	 * @Author xiafayu
	 * @Date 2020/2/24 15:34
	 * @param gatewayLogMinute
	 * @return com.dhcc.bpm.modules.log.vo.TradeVolumnVo
	 **/
    TradeVolumnVo tradingVolume(GatewayLogMinute gatewayLogMinute);

	/**
	 * @Description 当日机构数据统计
	 * @Author xiafayu
	 * @Date 2020/2/24 15:35
	 * @param page
	 * @param apiRank
	 * @return com.baomidou.mybatisplus.core.metadata.IPage<com.dhcc.bpm.modules.log.vo.OrgaRankVo>
	 **/
	IPage<OrgaRankVo> countOrgaNum(IPage<Object> page, OrgaRankVo apiRank);

	/**
	 * @Description 当日产品数据统计
	 * @Author xiafayu
	 * @Date 2020/2/24 15:35
	 * @param apiRank
	 * @return java.util.List<com.dhcc.bpm.modules.log.vo.AppApiViewVo>
	 **/
	List<AppApiViewVo> countProductByDate(AppApiViewVo apiRank);

	/**
	 * @Description 统计当日
	 * @Author xiafayu
	 * @Date 2020/2/24 15:35
	 * @param gatewayLogMinuteVO
	 * @return java.util.List<com.dhcc.bpm.modules.log.vo.TradeAppVo>
	 **/
	List<TradeAppVo> selectApiCountByDay(GatewayLogMinuteVO gatewayLogMinuteVO);

	/**
	 * @Description 统计当日
	 * @Author xiafayu
	 * @Date 2020/2/24 15:35
	 * @param gatewayLogMinuteVO
	 * @return java.util.List<com.dhcc.bpm.modules.log.vo.TradeAppVo>
	 **/
	List<TradeAppVo> selectCountByDay(GatewayLogMinuteVO gatewayLogMinuteVO);
}
